/* -----------------------------------------------------
 iCompose
 Staff.h
 
 Created by Team: THE BEARD on 18/10/09.
 
 Members who contributed to this file:
 1. Bobby Luk
 2. Ethan Holmes
 
 List of changes to previous member:
 Version 1:
 Oct 18, 2009 (Bobby)
 - added class variables and methods as stated in the Design Document version 1
 Oct 19, 2009 (Ethan)
 - removed needAccidental method
 Oct 25, 2009 (Wilson)
 - change arguments for changeNote method
 Nov 2, 2009 (Ethan)
 - getCurrentBeatAmount declaration
 - identfiyNoteButton declaration
 - removed unimplemented declarations
 
 Simon Fraser University, 2009.
 ----------------------------------------------------- */

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "InstrumentPlayer.h"
#import "TimeSignature.h"
#import "Tempo.h"
#import "Bar.h"

@interface Staff : NSObject <NSCoding>{
	NSString *nameOfComposition;
	TimeSignature *timeSig;
	Tempo *tempo;
	InstrumentPlayer *instrumentPlayer;
	int currentBar;
	UIScrollView *barViews;
	NSMutableArray *barList;
}

@property (nonatomic, retain) NSString *nameOfComposition;
@property (nonatomic, retain) Tempo *tempo;
@property (nonatomic, retain) TimeSignature *timeSig;
@property int currentBar;
@property (nonatomic, retain) NSMutableArray *barList;
@property (nonatomic, retain) UIScrollView *barViews;

- (void)initStaff:(TimeSignature*)time andTempo:(Tempo*)speed andInstrument:(InstrumentPlayer*) player andName:(NSString*)name;
- (void)play;
- (void)stop;
- (void)clearStaff;
- (void)loadBarViewsWithBar:(int)barNumber;
@end
